﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DAO;
using Entidades;
using System.Data.SqlClient;
using System.Data;


public partial class cuotas : System.Web.UI.Page
{       
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Page.IsPostBack)
            lblMje.Text = "";       
    }

    protected void btnBuscarSocio_Click(object sender, EventArgs e)
    {
        Socio soc = SocioDAO.obtenerSocioDni(txtDniSocio.Text);
        if (soc.Id!= 0)
        {            
            txtNombre.Text = soc.Nombre +" "+ soc.Apellido;            
            
            Cuota cuo = new Cuota();
            cuo.Socio = soc;
            comboClases(cuo.Socio.Id);
            ViewState["Cuota"] = cuo;
            //txtIdCuota.Value = CuotasDAO.maxCuota().ToString();            
            pnlDetalleCuotas.Visible = true;
            pnlCuota.Visible = false;
        }
        else
            lblMje.Text = "Socio no encontrado";        
    }
    public Boolean validarDetalle(Cuota cuo,DateTime fecha)
    {
        foreach (DetalleCuota dc in cuo.Detalle)
        {
            if(dc.FechaInicio == fecha)
                return false;
        }
        return true;
    }


    protected void btnGuardar_Click(object sender, EventArgs e)
    {
        Cuota cuo;                
        cuo = (Cuota)ViewState["Cuota"];
       

        DetalleCuota dc = new DetalleCuota();

        Clase cla = new Clase();
        cla.Id = Convert.ToInt32(ddlClase.SelectedValue.ToString());
        cla = ClaseDAO.buscarClaseId(cla);
        dc.Clase = cla;                                                 
        dc.Precio = float.Parse(txtPrecio.Text);      
        dc.FechaInicio = Convert.ToDateTime(txtFechaInicio.Text);


        dc.FechaFin = Convert.ToDateTime(txtFechaFin.Text);
        dc.Observaciones = txtObservacion.Text;
        dc.Descuento = float.Parse(txtDescuento.Text);


        if (validarDetalle(cuo, dc.FechaInicio))
        {
            txtPrecio.Text = "";
            txtFechaFin.Text = "";
            txtFechaInicio.Text = "";
            txtObservacion.Text = "";
            txtDescuento.Text = "";
            cuo.Detalle.Add(dc);
            llenarGrilla();
            ViewState["Cuota"] = cuo;
        }
        else
            lblMje.Text = "Ya existe ese detalle de cuota, verifique fecha inicio";
            
    }

    protected void llenarGrilla()
    {
        Cuota cuo;
        if (ViewState["Cuota"] != null)
        {
            cuo = (Cuota)ViewState["Cuota"];
            dgvCuotas.DataSource = cuo.Detalle;
            dgvCuotas.DataBind();
        }
        
    }

    protected void comboClases(int id)
    {
        DataTable dt = new DataTable();
        ddlClase.DataSource = ClaseDAO.obtenerClase(id);
        ddlClase.DataValueField = "id";
        ddlClase.DataTextField = "descripcion";
        ddlClase.DataBind();
    }
    
    protected void bntGrabar_Click(object sender, EventArgs e)
    {
        Cuota cuo = (Cuota)ViewState["Cuota"];        
        CuotasDAO.commitCuotas(cuo);
        lblMje.Text = "Cuotas Cargado Correctamente";
        Response.Redirect("cuotas.aspx");        
    }
}